﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;

namespace XMLWriterAndReader
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream fs = new FileStream("products.xml", FileMode.Create);

            XmlWriter w = XmlWriter.Create(fs);

            w.WriteStartDocument();
            w.WriteStartElement("products");

            // Write a product.
            w.WriteStartElement("product");
            w.WriteAttributeString("id", "1001");
            w.WriteElementString("productName", "Coffee");
            w.WriteElementString("productPrice", "0.99");
            w.WriteEndElement();

            w.WriteEndDocument();
            w.Flush();
            fs.Close();

            fs = new FileStream("products.xml", FileMode.Open);

            XmlReader r = XmlReader.Create(fs);

            while (r.Read())
            {
                if (r.NodeType == XmlNodeType.Element)
                {
                    Console.WriteLine();
                    Console.WriteLine("<" + r.Name + ">");
                    if (r.HasAttributes)
                    {
                        for (int i = 0; i < r.AttributeCount; i++)
                        {
                            Console.WriteLine("\tATTRIBUTE: " + r.GetAttribute(i));
                        }
                    }
                }
                else if (r.NodeType == XmlNodeType.Text)
                {
                    Console.WriteLine("\tVALUE: " + r.Value);
                }
            }
        }
    }
}
